Repository navigation
Migrate to Vue 3 - #1025
Migrate to Vue 3#1025mchoo7 wants to merge 48 commits into
Conversation
|
Lots of lifting in this - I'm likely the last to provide useful feedback, but I went ahead and asked an LLM to look over the PR for any low-hanging fruit feedback that might help improve this if the DocC render maintainers are so inclined. From that output:
I stumbled over (note: I am not a maintainer on this project, more a very interested consumer of it) |
I don't see any change made to OverviewCard.
Updated
I was going to do ESLint (and Prettier) in a follow-up PR.
I don't see any failures. Could you share the error message please? |
mportiz08
left a comment
There was a problem hiding this comment.
Hi @mchoo7. Apologies for not getting to this sooner, but I really appreciate the effort that went into making such a large PR--especially since this migration task is something I was hoping to look into myself soon.
It will take some time to thoroughly review and test these changes, but I wanted to let you know that I've started to look through this and try it out. Thanks!
|
During unit test, 65% of time was spent on jsdom creation. We now use vmThreads pooling which reduces unit test time by 83% (30.1s to 5.1s). |
|
I've been doing some manual testing with example documentation content before getting to thoroughly review the changed files, and things are generally looking pretty good so far. I'm still testing, but here are a few minor issues I've noticed that we'll want to fix:
|
mportiz08
left a comment
There was a problem hiding this comment.
Still testing and reviewing the changes.
Here are a couple of new issues I've noticed:
- the linked "Documentation" sidebar link is still blue instead of white (doesn't seem like your previous fix worked here)
- same issue with the "[Name] Tutorials" link in the tutorials navbar where [Name] is now blue when it shouldn't be
- the primary/secondary dropdowns in the tutorials navbar seem to be missing visual borders, and they don't work unless you click the exact text
- for the TutorialsOverview page, the spacing looks off for the left-hand-side chapter menu
I asked LLM to fix the issues for now. However, the docs provided by this repository does not have Documentation link or any tutorial page, so I cannot verify by myself. Is there a way to obtain a good docc for testing (e.g. xcode)? |
Great, I think these issues are resolved now. Thanks!
One way is to download the "SlothCreator" sample code from here and build the archive with Xcode and/or DocC itself. You can then point DocC-Render at the built archive or directly build it with the version of DocC-Render here. Probably the easiest way is to create an empty tutorial using # create Example.docc with stub tutorial page
xcrun docc init --name Example --output-dir . --template tutorialHere is some additional documentation on directly integrating a built version of this renderer with DocC itself using the |
Bug/issue #976 #977, if applicable:
Summary
As mentioned in #976, this project is currently using Vue 2. Not only this leaves bugs from dependencies (unless we patch against individual deps), using EOL-ed software leaves security holes that can be exploited in many ways, especially in these days where LLM can find dozens of security flaws in a few hours. After this change,
pnpm outdatedwill show nothing (there is deprecated package warning fromjs-beautify, but it's not our responsibility).Screenshot:
Notes
pnpm instsall && pnpm run docs"type": "module")Breaking Changes
For Users
There is no breaking changes for users at least according to the spec. The only pitfall here is the browerlist. Vite 8 has stricter browser compatibility then our current browserlist, but I'm pretty sure for generated code the old code is more compatible for (very) legacy browsers. For example, support for Internet Explorer is now fully dropped.
For Developers
serveis renamed todevto follow vite conventiondev(previouslyserve) is now 5173 (vite's default)VUE_APP_*is nowVITE_*(this is what vite expects)Future plans
I will do the following:
This PR is groundwork for the following optional improvements, but I won't or currently have no plan to do:
Dependencies
package.jsonwill allow Node 22, but if your node version manager(s) read.nvmrc, they will complain about it because.nvmrccannot store multiple major versions.@vue/compiler-sfcis added to replace its functionality.Testing
Invoking test is same as before, except that vitest is now the backend (it's easier to sync with vite and vue). However, changes to test files need to be reviewed for sure.
This needs to be tested with other documentations such as the Swift documentation or the Apple documentation. However, I don't know how to test against these and don't have time for that, so I hope Swift/Apple devs can do this for me.
Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.
npm test, and it succeededFixes: #976
Fixes: #977